Jump to content

Ещё один баг Opera?


psywalker
 Share

Recommended Posts

Сегодня, решая одну простую задачу, наткнулся на очередной прикол Opera. Не знаю, баг это или нет, вот хочу уточнить у вас. Может кто подскажет :unsure:

Задача:

Сделать промежуточную строку, для вертикальных отступов между ячейками. Всё вроде бы хорошо, да только браузер Opera не согласен немного. Он откуда-то берёт бордер и ставит его к нашей строке или ячейке в ней (а может быть, ксатит, и к верхней). Ячейка растянута с помощью colspan кончено же. В общем поглядите, там всё просто.

http://jsfiddle.net/KzpCz/21/

На скрине, справа ФФ, слева Опера.

Вопросы:

1. Откуда берётся бордер?

2. Баг это или нет?

3. Способы лечения? (У меня есть пару на примете, но пока о них промолчу)

Link to comment
Share on other sites

Вопросы:

1. Откуда берётся бордер?

2. Баг это или нет?

3. Способы лечения? (У меня есть пару на примете, но пока о них промолчу)

1) не знаю

2) не знаю

3) как-то так:


<tr class="space">
<td colspan="6"></td>
</tr>

:)

  • Like 1
Link to comment
Share on other sites

Моя версия, что бордер берется из-за неспособности Оперы сделать границу ячейки "кусочной" (возможно, издержки оптимизации). Поскольку в "пограничном конфликте" разделительной ячейки с верхними побеждает "1px solid #000" (т.к. none "слабее всех"), Опере приходится всю верхнюю границу разделительной ячейки делать такой.

Баг ли это, затрудняюсь ответить. В спеке я правил разруливания "пограничных конфликтов" для заколспаненных ячеек не нашел, так что оперная трактовка, хоть и нелогична с точки зрения здравого смысла, вроде как никаких писаных правил не нарушает. Может, плохо смотрел...

Впрочем, поведение Оперы при colspan="6" стыкуется с этой версией только если принять, что роль играет самая правая из соседних с заколспаненной ячейкой ячейка сверху (если у нее граница не задана, как в варианте без колспана, или самой "соседки сверху" нет, как при избыточном колспане, тогда и заколспаненной ячейке граница не задается). Тогда, видимо, всё-таки баг, потому что по спеке должна "заруливать" самая левая :)

Лучший способ лечения для данного случая, имхо, предложил mishka.

В идеальном мире я бы, наверное, вообще от этих распорочных tr-ок отказался (уж больно они напоминают бряки вместо абзацев;), как-нибудь так (и в Опере, кстати, работает, и даже в IE8, но на этот раз вебкиты, сволочи, отвалились)...

Link to comment
Share on other sites

Вопросы:1. Откуда берётся бордер?2. Баг это или нет?3. Способы лечения? (У меня есть пару на примете, но пока о них промолчу)
1) не знаю2) не знаю3) как-то так:
<tr class="space"><td colspan="6"></td></tr>

:)

без colspan норм работает:http://jsfiddle.net/zPF6b/9/Но, скорей всего, ты и сам такое проверил.

Ага, спасибо ребят. :)

SelenIT

Впрочем, поведение Оперы при colspan="6" стыкуется с этой версией только если принять, что роль играет самая правая из соседних с заколспаненной ячейкой ячейка сверху (если у нее граница не задана, как в варианте без колспана, или самой "соседки сверху" нет, как при избыточном колспане, тогда и заколспаненной ячейке граница не задается).

А можно поподробнее вот об этом :rolleyes:

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy